Array.prototype.select = function (func) {
    var retValues = [];
    if (this.length == 0) {
        return retValues;
    }
    if (func == null) {
        return this;
    }
    for (var i = 0; i < this.length; i++) {
        retValues.push(func(this[i]));
    }
    return retValues;
};
Array.prototype.where = function (func) {
    if (func == null) {
        return this;
    }
    var retList = [];
    for (var i = 0; i < this.length; i++) {
        if (func(this[i]) != false) {
            retList.push(this[i]);
        }
    }
    return retList;
}